package com.project.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.dto.WaitProductDto;
import com.project.dto.WaitProductDtoWeb;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
@FeignClient(name = "sscbgOne",path = "/waitProduct",contextId = "sscbgOne1")
public interface IWaitProductService {
    /**
     * 查找待上架商品
     * 前端添加到美化商品中时调用
     * @param type  商品类型
     * @param name  商品名字
     * @return  返回待上架商品对象集合
     */
    @RequestMapping("/findWaitProductByTypeAndName/{type}/{name}")
    List<WaitProductDtoWeb> findWaitProductByTypeAndName(@PathVariable("type") String type, @PathVariable("name") String name);

    /**
     * 获取所有待上架商品
     * 前端每天凌晨2点根据配置好的【商品类型】,也可手动触发，远程调用该方法
     * @return
     * 1、 成功：把商品集合存入到数据库
     * 2、 失败：回滚远程和本地数据
     */
    @RequestMapping("/findWaitProduct")
    IPage<WaitProductDto> findWaitProduct(@RequestParam("pageNO") int pageNO,
                                          @RequestParam("productType") String productType,
                                          @RequestParam(value = "productStatus", required = false) Integer productStatus);
}
